/**
 * 
 * @param {服务端返回数据}} data 
 * @returns 处理弹框里分类数据
 */
export function handleCategory(data) {
  //1.获取风格类别
  const category = data.categories;

  //2.创建风格类别数据结构
  const categoryData = Object.entries(category).map(([key, value]) => {
    return {
      name: value,
      subs: []
    }
  });

  //3.将sub 添加到对应的风格类别中
  for (const item of data.sub) {
    categoryData[item.category].subs.push(item);
  };

  return categoryData;
};

/**
 * 26位英文字母大写表
 * 获取歌手字母类别、其中数组第一项和最后一项位“-1”&“0”；
 *  
 * String.prototype.charCodeAt() 方法返回 0 到 65535 之间的整数，
 * 表示给定索引处的 UTF-16 代码单元；
 * 
 * String.fromCharCode() 方法返回由指定的 UTF-16 代码单元序列创建的字符串
 * 
 * 总的来说就是在0 到 65535 之间 取到A-Z字符串的 Unicode 编码，然后循环将 Unicode 编码
 * 转为字符并添加到数组；
 */
 export function generateSingerAlpha() {
  const alphabets = ["-1"];
  let start = 'A'.charCodeAt(0); //65
  let last = 'Z'.charCodeAt(0); //90
  
  for (start; start <= last; start++) {
    alphabets.push(String.fromCharCode(start));
  };

  alphabets.push("0");

  return alphabets;
}
export const singerAlphas = generateSingerAlpha();
